Skip to content

fix(examples/ag-ui): pin published threadplane-middleware in deploy requirements#671

Merged
blove merged 1 commit into
mainfrom
fix-ag-ui-demo-middleware-dep
Jun 16, 2026
Merged

fix(examples/ag-ui): pin published threadplane-middleware in deploy requirements#671
blove merged 1 commit into
mainfrom
fix-ag-ui-demo-middleware-dep

Conversation

@blove

@blove blove commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Problem

The ag-ui-demo Railway backend (ag-ui.threadplane.ai) has been deploy-broken since #665: that PR renamed threadplane-client-toolsthreadplane-middleware (updating the import + an editable [tool.uv.sources] path) but never regenerated examples/ag-ui/python/requirements.txt, which still pinned threadplane-client-tools==0.0.1. The Railway image installs from requirements.txt via PyPI (it strips editable/file:// lines), so the new container imported threadplane.middleware (absent from the old package) and crashed on startup → healthcheck failed → Railway kept the stale container. Diagnosed via the Railway API (deployment FAILED, ModuleNotFoundError: No module named 'threadplane.middleware').

Fix

threadplane-middleware 0.0.1 is now published to PyPI. Regenerated requirements.txt with uv export --no-hashes **--no-sources** so the deploy pins the published package (threadplane-middleware==0.0.1) instead of emitting the editable -e ../../../packages/... line the Dockerfile strips. The --no-sources flag is now baked into the file's documented regen command so it can't re-drift; local dev still uses the editable path (sources override untouched in pyproject).

Merging triggers ag-ui-demo-deploy → the new image installs the package → healthcheck passes → F5 subagent cards go live on the demo.

🤖 Generated with Claude Code

…equirements

#665 renamed threadplane-client-tools -> threadplane-middleware (editable
[tool.uv.sources] path) but never regenerated requirements.txt, so the
ag-ui-demo Railway image installed the old package and crashed on startup
(ModuleNotFoundError: threadplane.middleware -> healthcheck fail -> stale
container). threadplane-middleware 0.0.1 is now on PyPI; regenerate with
--no-sources so the deploy pins the published package instead of the
Docker-stripped editable path. Unblocks the demo backend (and F5 on the demo).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 16, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
threadplane Ready Ready Preview, Comment Jun 16, 2026 8:59pm

Request Review

@blove blove enabled auto-merge (squash) June 16, 2026 20:57
@blove blove merged commit 379ee32 into main Jun 16, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant